#ifndef __CONTENTPARTICULES_H__
#define __CONTENTPARTICULES_H__

#include <iostream>
#include <string>
#include "Printer.h"

//STRUCTURE MEMOIRE DTD
//
//Content Particule

using namespace std;

typedef enum
{
	ONLY_ONE,
	ZERO_OR_MORE,
	ONE_OR_MORE,
	OPTIONNAL

} CARDINALITY;

class ContentParticules : public Printer
{
	public:
		/*Constructeurs*/
		ContentParticules();
		ContentParticules( CARDINALITY card );

		/*Destructeur*/
		virtual ~ContentParticules();

		/*Fonction d'affichage de la structure en mémoire*/
		virtual void printMe();

		/*Get & Set*/
		CARDINALITY getCardinality() const;
		string getCardinalityString();
		void setCardinality(CARDINALITY newCardinality);

		/*fonction de transformation en expression régulière*/
		virtual string toRegExp() = 0;

	protected:
		CARDINALITY	cardinality;
};

#endif // #define __CONTENTPARTICULES_H__

